#if !defined(_SCORE_BOARD_MANAGER_H)
#define _SCORE_BOARD_MANAGER_H

#include <string>
#include <vector>
#include <SDL.h>
#include "Rectangle.h"
#include "PlayerData.h"



using namespace std;

class ScoreBoardManager {
private:

	vector<Shape*> staticShapes;
	vector<Shape*> dynamicShapes;
	static ScoreBoardManager* singleton; 
	ScoreBoardManager();

	//este metodo va a construir las imagenes que son fijas en el ScoreBoard y
	//las va a poner todas en el vector staticShapes
	void buildStaticShapes();

	//Este metod va a construir las imagenes que son dinamicas en el ScoreBoard y
	//las va a agregar al vector dynamicShapes
	void buildDynamicShapes();

	//este metodo va a updatear las figuras dinamicas para que tengan la textura correcta.
	void updateDynamicShapes(int level, int score, int lives);



public:
	virtual ~ScoreBoardManager();
	static ScoreBoardManager* getInstance(); 

	vector<Shape*> getStaticShapes();
	void setStaticShapes(vector<Shape*> shapes);

	vector<Shape*> getDynamicShapes();
	void setDynamicShapes(vector<Shape*> shapes);

	//este metodo va a dibujar todo el ScoreBoard.
	void draw(int level, int score, int lives, SDL_Surface* screen);
};

#endif  //_SCORE_BOARD_MANAGER_H
